﻿#pragma once
#include "Interpolator.h"
#include "array/Array.hpp"

namespace yzrilyzr_interpolator{
	ECLASS(BezierInterpolator, public Interpolator){
	private:
	std::shared_ptr<yzrilyzr_array::DoubleArray> points;
	std::shared_ptr<yzrilyzr_array::DoubleArray> coe;
	std::shared_ptr<yzrilyzr_array::DoubleArray> pts;
	public:
	u_normal_01 y(u_normal_01 x) override;
	BezierInterpolator(std::shared_ptr<yzrilyzr_array::DoubleArray>  pts);
	~BezierInterpolator();
	yzrilyzr_lang::String toString() const override;
	};
}